package com.stx.common;

public class CheckPassword {
    /*禁止连续字符：避免使用连续的字符（如1234、abcd、aaaa等），因为这些模式容易被猜测。
    禁止常见密码：禁止使用常见的弱密码（如123456、password、qwerty等）。可以通过维护一个常见的弱密码列表来进行检查。*/
    public static boolean checkPassword(String password,String username) {
        // 禁止连续字符
//        if (password.matches(".*(\\w)\\1{3,}.*") || !(password.matches("(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)[A-Za-z\\d_]{4,12}"))) {
//            return false;
//        }
//        if (!(username.matches("[A-Za-z\\d]{4,12}"))){
//            return false;
//        }

        // 账号规则：4-12位字符，汉字除外
        if (!username.matches("[^\\u4e00-\\u9fff]{4,12}")) {
            return false;
        }

        // 密码规则：6-18位字符，汉字除外
        if (!password.matches("[^\\u4e00-\\u9fff]{6,18}")) {
            return false;
        }

        // 禁止常见密码
        /*String[] commonPasswords = {"123456", "password", "qwerty"};
        for (String commonPassword : commonPasswords) {
            if (password.equals(commonPassword)) {
                return false;
            }
        }*/
        return true;
    }
}
